package com.pxl.service;

import com.pxl.entity.Course;
import com.pxl.entity.Institution;
import com.pxl.entity.Student;

import java.util.*;

public interface CourseService {
    List<Course> queryStuCourse(int id);

    List<Course> queryAllCourse(int stuId);

    List<Course> queryAllById(int teaId);

    List<Course> queryAllByInsId(int insId);

    Course queryCourseDetail(int classId);

    List<Course> queryCourseByClassId(int classId);

    boolean checkStuIns(int classId,int stuId);

    void deleteCourseChoose(int stuId,int classId);

    void chooseCourse(int classId,int stuId);


    /**
     *  查询所有的学院信息
     * @return
     */
    List<Institution> queryAllIns();

    /**
     *  插入课程
     * @param name
     * @param num
     * @param teaId
     */
    int insertCourse(String name,String num,int teaId);

    /**
     *  插入学院的限制
     * @param det
     * @param classId
     */
    void insertInsLimit(String det,int classId);

    /**
     *  查询课程的相关信息
     * @param classId
     * @return
     */
    Course queryCourseInfoById(int classId);

    /**
     *  查询课程的学院限制
      * @param classId
     * @return
     */
    List<Integer> selectCourseLimit(int classId);

    int updateCourse(String name,String num,int teaId,int classId) ;

    void updateInsLimit(String insName, int classId);

    void deleteCourse(int classId);

    /**
     *  通过课程号查询哪些学生选择了这门课程
     * @param classId
     * @return
     */
    List<Student> queryStuByCourseId(int classId);

    void updateScore(int classId,int stuId,int score);

    void deleteStuCourse(int classId,int stuId);
}
